/**
 * 
 */
package com.zuipin.vo;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import io.swagger.annotations.ApiModelProperty;
import net.sf.json.JSONObject;

/** 
 * @ClassName: BackPayOrderVO 
 * @author wuyicheng
 * @time 2017年6月12日上午10:48:50 
 */
public class BackOrderVo {
	
	private Long					createMemberId;		// 下单会员ID
	
	private Long					createId;			//创建人
	
	private Long					sysId;				// 来源系统
	
	private Long					useRedPacketId;		// 使用的红包
	
	private String					payType;			//在线支付 货到付款
	
	private String					expressDeliveryCode;//配送方式编码,申通:ship_sto,顺丰:ship_sf,邮政:ship_ems
	
	private String					orderRemark;		// 订单备注
	
	private String					customerRemark;		// 客服备注
	
	private List<BackOrderDetailVo>	orderDetails;
	
	private String					device;				//来源PC/WAP
	
	// 收货地址部分----开始
	
	private Long					receiveAddrId;		// 收获地址Id
	
	// 收货地址部分----结束
	
	// 发票信息---开始
	
	private String					invoiceContent;		// 发票内容 食品、茶叶、茶具（可多选）
	
	private String					invoiceType;		// 不开发票、电子发票、普通发票、增值税发票
	
	private String					invoiceTitle;		// 发票抬头 “个人”“公司”
	
	private String					email;				//	收票人邮箱	 发票类型选择“电子发票”时才有该字段和输入框出现
	
	private String					companyName;		//	公司名称 发票类型选择“增值税发票”时才出现
	
	private String					taxpayersNo;		//	纳税人识别号 “普通发票”“电子发票”在公司抬头为公司的时候才会出现，发票类型“增值税发票”始终出现
	
	private String					registerAddress;	//	注册地址 发票类型选择“增值税发票”时才出现
	
	private String					registerMobilePhone;//	注册电话 发票类型选择“增值税发票”时才出现
	
	private String					openBank;			//	开户银行 发票类型选择“增值税发票”时才出现
	
	private String					openAccount;		//	开户账号 发票类型选择“增值税发票”时才出现
	
	private BigDecimal				freightSum;			//运费
	
	@ApiModelProperty(value = "下单会员ID", required = true)
	public Long getCreateMemberId() {
		return createMemberId;
	}
	
	public void setCreateMemberId(Long createMemberId) {
		this.createMemberId = createMemberId;
	}
	
	@ApiModelProperty(value = "系统ID", required = true)
	public Long getSysId() {
		return sysId;
	}
	
	public void setSysId(Long sysId) {
		this.sysId = sysId;
	}
	
	@ApiModelProperty(value = "红包ID", required = false)
	public Long getUseRedPacketId() {
		return useRedPacketId;
	}
	
	public void setUseRedPacketId(Long useRedPacketId) {
		this.useRedPacketId = useRedPacketId;
	}
	
	@ApiModelProperty(value = "支付方式编码,在线支付:ONLINE,货到付款:CASH_DELIVERY", required = true)
	public String getPayType() {
		return payType;
	}
	
	public void setPayType(String payType) {
		this.payType = payType;
	}
	
	@ApiModelProperty(value = "订单备注", required = false)
	public String getOrderRemark() {
		return orderRemark;
	}
	
	public void setOrderRemark(String orderRemark) {
		this.orderRemark = orderRemark;
	}
	
	@ApiModelProperty(value = "订单详情", required = true)
	public List<BackOrderDetailVo> getOrderDetails() {
		return orderDetails;
	}
	
	public void setOrderDetails(List<BackOrderDetailVo> orderDetails) {
		this.orderDetails = orderDetails;
	}
	
	@ApiModelProperty(value = "收获地址ID", required = true)
	public Long getReceiveAddrId() {
		return receiveAddrId;
	}
	
	public void setReceiveAddrId(Long receiveAddrId) {
		this.receiveAddrId = receiveAddrId;
	}
	
	@ApiModelProperty(value = "发票内容 食品、茶叶、茶具（可多选）")
	public String getInvoiceContent() {
		return invoiceContent;
	}
	
	public void setInvoiceContent(String invoiceContent) {
		this.invoiceContent = invoiceContent;
	}
	
	@ApiModelProperty(value = "发票类型:不开发票NOT_INVOICE、电子发票ELECTRONIC_INVOICE、普通发票ORDINARY_INVOICE、增值税发票VTA_INVOICE")
	public String getInvoiceType() {
		return invoiceType;
	}
	
	public void setInvoiceType(String invoiceType) {
		this.invoiceType = invoiceType;
	}
	
	@ApiModelProperty(value = "发票抬头 个人PERSONAL 公司COMPANY")
	public String getInvoiceTitle() {
		return invoiceTitle;
	}
	
	public void setInvoiceTitle(String invoiceTitle) {
		this.invoiceTitle = invoiceTitle;
	}
	
	@ApiModelProperty(value = "收票人邮箱")
	public String getEmail() {
		return email;
	}
	
	public void setEmail(String email) {
		this.email = email;
	}
	
	@ApiModelProperty(value = "公司名称")
	public String getCompanyName() {
		return companyName;
	}
	
	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}
	
	@ApiModelProperty(value = "纳税人识别号")
	public String getTaxpayersNo() {
		return taxpayersNo;
	}
	
	public void setTaxpayersNo(String taxpayersNo) {
		this.taxpayersNo = taxpayersNo;
	}
	
	@ApiModelProperty(value = "注册地址")
	public String getRegisterAddress() {
		return registerAddress;
	}
	
	public void setRegisterAddress(String registerAddress) {
		this.registerAddress = registerAddress;
	}
	
	@ApiModelProperty(value = "注册电话")
	public String getRegisterMobilePhone() {
		return registerMobilePhone;
	}
	
	public void setRegisterMobilePhone(String registerMobilePhone) {
		this.registerMobilePhone = registerMobilePhone;
	}
	
	@ApiModelProperty(value = "开户银行")
	public String getOpenBank() {
		return openBank;
	}
	
	public void setOpenBank(String openBank) {
		this.openBank = openBank;
	}
	
	@ApiModelProperty(value = "开户账号")
	public String getOpenAccount() {
		return openAccount;
	}
	
	public void setOpenAccount(String openAccount) {
		this.openAccount = openAccount;
	}
	
	@ApiModelProperty(value = "创者者ID")
	public Long getCreateId() {
		return createId;
	}
	
	public void setCreateId(Long createId) {
		this.createId = createId;
	}
	
	@ApiModelProperty(value = "客服备注")
	public String getCustomerRemark() {
		return customerRemark;
	}
	
	public void setCustomerRemark(String customerRemark) {
		this.customerRemark = customerRemark;
	}
	
	@ApiModelProperty(value = "配送方式编码,申通:ship_sto,顺丰:ship_sf,邮政:ship_ems")
	public String getExpressDeliveryCode() {
		return expressDeliveryCode;
	}
	
	public void setExpressDeliveryCode(String expressDeliveryCode) {
		this.expressDeliveryCode = expressDeliveryCode;
	}
	
	@ApiModelProperty(value = "PC|WAP")
	public String getDevice() {
		return device;
	}
	
	public void setDevice(String device) {
		this.device = device;
	}
	
	@ApiModelProperty(value = "运费")
	public BigDecimal getFreightSum() {
		return freightSum;
	}
	
	public void setFreightSum(BigDecimal freightSum) {
		this.freightSum = freightSum;
	}
	
	public static void main(String[] args) {
		BackOrderVo backPayOrderVO = new BackOrderVo();
		List<BackOrderDetailVo> orderDetails = new ArrayList<>();
		BackOrderDetailVo backOrderDetailVo = new BackOrderDetailVo();
		orderDetails.add(backOrderDetailVo);
		backPayOrderVO.setOrderDetails(orderDetails);
		System.out.println(JSONObject.fromObject(backPayOrderVO).toString());
	}
	
}
